package uade.distribuidas.server.manager;

import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.util.ArrayList;
import java.util.List;

import uade.distribuidas.repo.dto.RodamientoDTO;
import uade.distribuidas.repo.exception.ExceptionRodamiento;
import uade.distribuidas.repo.interfaces.ManagerRodamientosIf;
import uade.distribuidas.server.dao.RodamientosDAO;
import uade.distribuidas.server.domain.Rodamiento;



public class ManagerRodamientos extends UnicastRemoteObject implements ManagerRodamientosIf {
/**
	 * 
	 */
	private static final long serialVersionUID = 1L;


	public ManagerRodamientos() throws RemoteException {
			super();
			// TODO Auto-generated constructor stub
		}
	
	
	
	public  List<RodamientoDTO> getRodamientos() throws ExceptionRodamiento{
		List<RodamientoDTO> datos = new ArrayList<RodamientoDTO>();
		for(Rodamiento c : RodamientosDAO.getInstancia().getRodamientos()){
			datos.add(c.getVista());
		}
		return datos;
		
	}

	public  RodamientoDTO getRodamiento(Integer id) throws ExceptionRodamiento{
		return RodamientosDAO.getInstancia().getRodamiento(id).getVista();
	}
	
	public RodamientoDTO getRodamiento(String serie,String sufijo,String marca, String origen) throws ExceptionRodamiento{
		return RodamientosDAO.getInstancia().getRodamiento(serie,sufijo,marca,origen).getVista();
	}
	
	public  RodamientoDTO save(RodamientoDTO c)throws ExceptionRodamiento {
		Rodamiento clase=null;
		return RodamientosDAO.getInstancia().save(clase).getVista();
	}
	
	public RodamientoDTO getRodamiento(String serie)throws ExceptionRodamiento {
		return RodamientosDAO.getInstancia().getRodamiento(serie).getVista();
	}

	public RodamientoDTO getRodamientoPorCantidad(String numeroSerie,Integer cantidadPedida)throws ExceptionRodamiento  {
		return RodamientosDAO.getInstancia().getRodamientoPorCantidad(numeroSerie,cantidadPedida).getVista();
		
	}
}
